;Make all lines vertical.  End with lowest Y is held, other end assumes X of held point.
;
;	Author:
;		Henry C. Francis
;		425 N. Ashe St.
;		Southern Pines, NC 28387
;
;	http://www.paracadd.com
;	All rights reserved.
;
(defun c:all ()
  (setq ss (ssget '((0 . "LINE"))))
  (setq sslen (sslength ss)
        cnt 0)
  (while (< cnt sslen)
    (setq ent (entget (ssname ss cnt)))
    (setq maxy (max (caddr(assoc 10 ent))(caddr(assoc 11 ent)))
          miny (min (caddr(assoc 10 ent))(caddr(assoc 11 ent))))
    (if (eq maxy (caddr(assoc 10 ent)))
      (setq entx (cadr(assoc 11 ent)))
      (setq entx (cadr(assoc 10 ent)))
    )
    (setq ent (subst (cons 10 (list entx miny 0))(assoc 10 ent)ent))
    (setq ent (subst (cons 11 (list entx maxy 0))(assoc 11 ent)ent))
    (entmod ent)
    (setq cnt (1+ cnt))
  )
)